کانال بله, جهت پشتیبانی و اطلاع رسانی کانال بله, جهت پشتیبانی و اطلاع رسانی
عضویت

برنامه تغییر خاصیت فایل ها و فولدرها

شرح مختصر پروژه

برنامه تغییر خاصیت فایل ها و فولدرها

توضیحات پروژه

برنامه تغییر خاصیت فایل ها و فولدرها

برنامه تغییر خاصیت فایل ها و فولدرها

 

در این برنامه بعداز انتخاب یک فولدر توسط کاربر، در صورت وجود آن تمامی فایلها و فولدرهای درون فولدر خاصیت نرمال را می پذیرند. یعنی اگر فایل مخفی در این فولدرها باشد بعد از انجام این برنامه نمایان می شود.

بعد از انتخاب فایل و زدن دکمه Set Files And Folders To Normal وارد کد زیر می شویم:

   1:  if (!running)
   2:                  return;
   3:              if (!Directory.Exists(dir))
   4:              {
   5:                  lblStatus.Text = "Invalid path!";
   6:                  return;
   7:              }
   8:              if (chkSub.Checked)
   9:              {
  10:                  try
  11:                  {
  12:                      foreach (string d in System.IO.Directory.GetDirectories(dir))
  13:                      {
  14:                          lblStatus.Text = dir;
  15:                          setNormal(d);
  16:                          count += Directory.GetFiles(d).Length + 
                                         Directory.GetDirectories(dir).Length;

17: prg.Maximum = Directory.GetFiles(d).Length + Directory.GetDirectories(dir).Length;

  18:                          prg.Value = 0;
  19:                          DirectoryInfo df = new DirectoryInfo(d);
  20:                          try
  21:                          {
  22:                              df.Attributes = FileAttributes.Normal;
  23:                              prg.Value++;
  24:                          }
  25:                          catch
  26:                          {
  27:                          }
  28:                          foreach (string fil in System.IO.Directory.GetFiles(d))
  29:                          {
  30:                              FileInfo f = new FileInfo(fil);
  31:                              try
  32:                              {
  33:                                  f.Attributes = FileAttributes.Normal;
  34:                                  prg.Value++;
  35:                                  Application.DoEvents();
  36:                              }
  37:                              catch
  38:                              {
  39:                              }
  40:                          }
  41:                      }
  42:                  }
  43:                  catch
  44:                  {
  45:                  }
  46:              }
  47:              else
  48:              {
  49:                  count = Directory.GetFiles(dir).Length;
  50:                  prg.Maximum = count;
  51:                  prg.Value = 0;
  52:                  try
  53:                  {
  54:                      foreach (string fil in System.IO.Directory.GetFiles(dir))
  55:                      {
  56:                          FileInfo f = new FileInfo(fil);
  57:                          try
  58:                          {
  59:                              f.Attributes = FileAttributes.Normal;
  60:                              prg.Value++;
  61:                              Application.DoEvents();
  62:                          }
  63:                          catch
  64:                          {
  65:                          }
  66:                      }
  67:                  }
  68:                  catch { }
  69:              }

 

ابتدا برای کار با دستورات مربوط به فایل ها باید فضانام System.IO به پروژه اضافه گردد:

using System.IO;

در دستور اول وجود آدرس این فولدر توسط تابع Directory.Exists چک می شود و در صورت عدم وجود خطایی به کاربر نمایش داده می شود و اجرا متوقف می شود. سپس در صورت چک نخوردن تیک Include SubFolders وارد کد زیر می شویم:

 

   1:  count = Directory.GetFiles(dir).Length;
   2:  prg.Maximum = count;
   3:  prg.Value = 0;
   4:              try
   5:                  {
   6:                      foreach (string fil in System.IO.Directory.GetFiles(dir))
   7:                      {
   8:                          FileInfo f = new FileInfo(fil);
   9:                          try
  10:                          {
  11:                              f.Attributes = FileAttributes.Normal;
  12:                              prg.Value++;
  13:                              Application.DoEvents();
  14:                          }
  15:                          catch
  16:                          {
  17:                          }

در این کد ابتدا تعداد فایل های موجود در این دایرکتوری در متغیر count وارد می شود. همچنین این مقدار به خاصیت ماکزیمم شی progressBar موجود برروی فرم اختصاص می یابد. حال در یک حلقه foreach برروی تمام فایل های موجود در فولدر انتخاب شده مقدار خاصیت Attributes فایل به وضعیت نرمال تغییر پیدا می کند و یک واحد به پیشرفت شیء ProgressBar موجود برروی فرم اضافه می شود. حال با استفاده از تابع DoEvents تمامی پیام هایی که در صف پیغام های ویندوز قرار دارند (از جمله پیام تغییر خاصیت فایلی که ما در برنامه تغییر دادیم) ارسال می شوند.

در صورت چک خوردن تیک Include SubFolders ابتدا این روند برای تمامی فولدرهای موجود در فولدر انتخاب شده صورت می گیرد.

1394/07/27 6217 660
رمز عبور : tahlildadeh.com یا www.tahlildade.com
نظرات شما

نظرات خود را ثبت کنید...